package com.yonyou.cyxdms.sysAuth.service.feign.dto;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.JSONUtil;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeSerializer;

import java.time.LocalDateTime;

/**
 * brokerinfo---用于会话列表获取顾问信息
 *
 * @author zhangsx
 * @since 2019/1/9
 */
public class BrokerInfoDTO {
    /**
     * 经纪人id
     */
    private Long brokerId;
    /**
     * 用户id
     */
    private Long uid;
    /**
     * 微信号
     */
    private String weChat;

    /**
     * 经纪人名称
     */
    private String name;
    /**
     * 经纪人身份，1销售顾问，2销售经理，3市场专员，4市场经理，5店总
     */
    private Integer type;
    /**
     * 所属经销商id
     */
    private Long dealerId;
    /**
     * 邮箱，可用于登录
     */
    private String email;
    /**
     * 手机，可用于登录
     */
    private String mobile;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 工作开始时间
     */
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime workTime;
    /**
     * 性别，0未知，1男，2女
     */
    private Integer gender;
    /**
     * 邮编
     */
    private String zipcode;
    /**
     * 简介
     */
    private String intro;
    /**
     * 微店地址
     */
    private String website;
    /**
     * 服务人数
     */
    private Integer serviceCount;
    /**
     * 点赞人数
     */
    private Integer agreeCount;
    /**
     * 参与问答的回答数
     */
    private Integer qaAnswerCount;
    /**
     * 是否删除，0否，1是
     */
    private Integer isDeleted;
    /**
     * 删除时间
     */
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime deleteTime;
    /**
     * 经纪人等级，排序用
     */
    private Integer level;
    /**
     * 经纪人职业标签，逗号分隔
     */
    private String tags;
    /**
     * 业务经营范围
     */
    private String bussinessType;
    /**
     * 微店二维码
     */
    private String ercode;
    /**
     * 工作年限
     */
    private Integer workYear;
    /**
     * 大全用户token
     */
    private String userToken;
    private Integer isAutomaticDistribution;
    /**
     * dmsID
     */
    private String dmsId;
    /**
     * APP_ID
     */
    private String appId;
    /**
     * 账号
     */
    private String userCode;
    /**
     * 手机
     */
    private String phone;
    /**
     * 出生日期
     */
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime birthday;
    /**
     * 离职日期
     */
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime dimissionDate;
    /**
     * 地址
     */
    private String adress;
    /**
     * 建档日期
     */
    @JsonDeserialize(using = JsonLocalDateTimeDeserializer.class)
    @JsonSerialize(using = JsonLocalDateTimeSerializer.class)
    private LocalDateTime foundDate;
    /**
     * 身份证
     */
    private String idCard;
    /**
     * 经销商代码
     */
    private String dealerCode;
    /**
     * 顾问身份
     */
    private String typeName;

    /**
     * 无参构造方法
     */
    public BrokerInfoDTO() {
        super();

    }

    public Long getBrokerId() {
        return brokerId;
    }

    public void setBrokerId(Long brokerId) {
        this.brokerId = brokerId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public Integer getType() {
        return type;
    }


    public void setType(Integer type) {
        this.type = type;
    }


    public Long getDealerId() {
        return dealerId;
    }


    public void setDealerId(Long dealerId) {
        this.dealerId = dealerId;
    }


    public String getEmail() {
        return email;
    }


    public void setEmail(String email) {
        this.email = email;
    }


    public String getMobile() {
        return mobile;
    }


    public void setMobile(String mobile) {
        this.mobile = mobile;
    }


    public String getAvatar() {
        return avatar;
    }


    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }


    public Integer getGender() {
        return gender;
    }


    public void setGender(Integer gender) {
        this.gender = gender;
    }


    public String getZipcode() {
        return zipcode;
    }


    public void setZipcode(String zipcode) {
        this.zipcode = zipcode;
    }


    public String getIntro() {
        return intro;
    }


    public void setIntro(String intro) {
        this.intro = intro;
    }


    public String getWebsite() {
        return website;
    }


    public void setWebsite(String website) {
        this.website = website;
    }


    public Integer getServiceCount() {
        return serviceCount;
    }


    public void setServiceCount(Integer serviceCount) {
        this.serviceCount = serviceCount;
    }


    public Integer getAgreeCount() {
        return agreeCount;
    }


    public void setAgreeCount(Integer agreeCount) {
        this.agreeCount = agreeCount;
    }


    public Integer getQaAnswerCount() {
        return qaAnswerCount;
    }


    public void setQaAnswerCount(Integer qaAnswerCount) {
        this.qaAnswerCount = qaAnswerCount;
    }


    public Integer getIsDeleted() {
        return isDeleted;
    }


    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }


    public Integer getLevel() {
        return level;
    }


    public void setLevel(Integer level) {
        this.level = level;
    }


    public String getTags() {
        return tags;
    }


    public void setTags(String tags) {
        this.tags = tags;
    }


    public String getBussinessType() {
        return bussinessType;
    }


    public void setBussinessType(String bussinessType) {
        this.bussinessType = bussinessType;
    }


    public String getErcode() {
        return ercode;
    }


    public void setErcode(String ercode) {
        this.ercode = ercode;
    }


    public Integer getWorkYear() {
        return workYear;
    }


    public void setWorkYear(Integer workYear) {
        this.workYear = workYear;
    }


    public String getUserToken() {
        return userToken;
    }


    public void setUserToken(String userToken) {
        this.userToken = userToken;
    }


    public Integer getIsAutomaticDistribution() {
        return isAutomaticDistribution;
    }


    public void setIsAutomaticDistribution(Integer isAutomaticDistribution) {
        this.isAutomaticDistribution = isAutomaticDistribution;
    }


    public String getDmsId() {
        return dmsId;
    }


    public void setDmsId(String dmsId) {
        this.dmsId = dmsId;
    }


    public String getAppId() {
        return appId;
    }


    public void setAppId(String appId) {
        this.appId = appId;
    }


    public String getUserCode() {
        return userCode;
    }


    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }


    public String getPhone() {
        return phone;
    }


    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAdress() {
        return adress;
    }

    public void setAdress(String adress) {
        this.adress = adress;
    }

    public String getIdCard() {
        return idCard;
    }


    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }


    public String getDealerCode() {
        return dealerCode;
    }


    public void setDealerCode(String dealerCode) {
        this.dealerCode = dealerCode;
    }

    public String getWeChat() {
        return weChat;
    }

    public void setWeChat(String weChat) {
        this.weChat = weChat;
    }

    public LocalDateTime getWorkTime() {
        return workTime;
    }

    public void setWorkTime(LocalDateTime workTime) {
        this.workTime = workTime;
    }

    public LocalDateTime getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(LocalDateTime deleteTime) {
        this.deleteTime = deleteTime;
    }

    public LocalDateTime getBirthday() {
        return birthday;
    }

    public void setBirthday(LocalDateTime birthday) {
        this.birthday = birthday;
    }

    public LocalDateTime getDimissionDate() {
        return dimissionDate;
    }

    public void setDimissionDate(LocalDateTime dimissionDate) {
        this.dimissionDate = dimissionDate;
    }

    public LocalDateTime getFoundDate() {
        return foundDate;
    }

    public void setFoundDate(LocalDateTime foundDate) {
        this.foundDate = foundDate;
    }

    @Override
    public String toString() {
        return JSONUtil.objectToJson(this);
    }


}
